package cloud.keveri.chat4j.provider.chatgpt.model;

import cloud.keveri.chat4j.provider.chatgpt.model.enums.ImageModel;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.*;
import lombok.extern.slf4j.Slf4j;

import static cloud.keveri.chat4j.provider.chatgpt.model.enums.ImageSize.size_1024;

/**
 * <p>
 * 作者：沈自在
 **/
@Data
@Slf4j
@JsonInclude(JsonInclude.Include.NON_NULL)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ChatgptImageRequest {

    /**
     * 模型
     */
    @Builder.Default
    private String model = ImageModel.DALL_E_2.getValue();

    /**
     * 描述
     */
    private String prompt;

    /**
     * 次数
     */
    @Builder.Default
    private Integer n = 1;

    /**
     * 图片尺寸
     */
    @Builder.Default
    private String size = size_1024.getValue();

    /**
     * 返回的图像格式
     */
    @JsonProperty("response_format")
    private String format;

    /**
     * 风格
     */
    private String style;
}
